/**
 * 
 */
package br.gov.sjc.aluguelsocial;

import br.gov.sjc.classes.NumeroSias;
import br.gov.sjc.classes.Trabalho;
import br.gov.sjc.utils.Sair;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

/**
 * @author rodrigo.ramos
 * @tutorial  http://escoladeandroid.blogspot.com.br/2012/02/android-criando-uma-agenda-de-contatos.html
 */
public class TrabalhoActivity extends Sair  {
	String TAG = "TrabalhoActivity";
	private static final int INCLUIR = 0;
	private static final int ALTERAR = 1;
	Trabalho trabalho;

	//Pega o numero do Sias em uso atual
	NumeroSias ns = new NumeroSias();
	int NumSias = ns.getNumeroDaFamilia();
	int idMembroSias = ns.getNumeroDoMembroDaFamilia();

	// Declara Buttons
	Button btnTVoltar, btnTIr, btnTSalvar, btnTNovo;
	// Declara TextViews e LV
	EditText tbTRend, tbTHoras;
	// Declara o Spinner
	Spinner spTTipo, spTOcupacao;
	//Declara CheckBox
	CheckBox cbTInss, cbTrabalha;

	// Declara TextViews e LV
	ArrayAdapter<CharSequence> adpTTipo;
	ArrayAdapter<CharSequence> adpTOcupacao;


	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.trabalho2);
		registerBaseActivityReceiver();
		try
		{
			final Bundle dataT = (Bundle)getIntent().getExtras();
			int lint = dataT.getInt("tipoT");
			Log.i(TAG.toString(), "dataT.getInt = "+lint);
			if (lint == INCLUIR)
			{
				Log.i(TAG.toString(), "lint == INCLUIR ");
				//quando for incluir um contato criamos uma nova inst�ncia
				trabalho = new Trabalho(); 
				Log.i(TAG.toString(), "trabalho = new Trabalho(); ");
			}else{
				Log.i(TAG.toString(), "lint == ALTERAR ");
				//quando for alterar o contato carregamos a classe que veio por Bundle
				trabalho = (Trabalho)dataT.getSerializable("trabalho");
				Log.i(TAG.toString(), "trabalho = (Trabalho)dataT.getSerializable('trabalho'); ");
			}

			//Criação dos objetos da Activity
			tbTRend = (EditText) findViewById(R.trabalho.tbTRend);
			tbTHoras = (EditText) findViewById(R.trabalho.tbTHoras);
			cbTInss =(CheckBox) findViewById(R.trabalho.cbTInss);
			spTTipo = (Spinner) findViewById(R.trabalho.spTTipo);
			spTOcupacao = (Spinner) findViewById(R.trabalho.spTOcupacao);
			
			// Spinner 
			adpTTipo = ArrayAdapter.createFromResource(
					this, R.array.TipoTrabalho,
					android.R.layout.simple_spinner_item);
			adpTTipo.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
			spTTipo.setAdapter(adpTTipo);

			// Spinner 
			adpTOcupacao = ArrayAdapter.createFromResource(
					this, R.array.Ocupacao,
					android.R.layout.simple_spinner_item);
			adpTOcupacao.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
			spTOcupacao.setAdapter(adpTOcupacao);
			//Carregando os objetos com os dados
			//caso seja uma inclusão ele vir� carregado com os atributos text
			//definido no arquivo main.xml
			
			String SiasNstr = trabalho.gettSiasN();
			String idMembroStr = trabalho.getTidMembro();
			tbTRend.setText(trabalho.getRendimento());
			tbTHoras.setText(trabalho.getHorasMes());
			
			String inss =  trabalho.getINSS();
			if (inss.equals("Sim")){
				cbTInss.setChecked(true);
			}else{
				cbTInss.setChecked(false);
			}
			spTTipo.setSelection(adpTTipo.getPosition(trabalho.getTipo()));
			spTOcupacao.setSelection(adpTOcupacao.getPosition(trabalho.getOcupacao()));

		}catch (Exception e) {
			Log.e(TAG,"onCreate - Erro : " + e.getMessage());
		}
	}
    public void btnTrabalhoConfirmar_click(View view)
    {
        try
        {
        	if (tbTRend.getText().toString().equals("")||tbTHoras.getText().toString().equals("")){
        		Toast.makeText(this, "Todos os Campos são Obrigatórios", Toast.LENGTH_LONG).show();
        	}else{
            //Quando confirmar a inclusão ou altera��o deve-se devolver
            //o registro com os dados preenchidos na tela e informar
            //o RESULT_OK e em seguida finalizar a Activity
             
            Intent data2 = new Intent();
        	trabalho.settSiasN(String.valueOf(NumSias));
            trabalho.setTidMembro(String.valueOf(idMembroSias));
            //trabalho.setTrabalha("Sim");
            trabalho.setTipo(String.valueOf(adpTTipo.getItem(spTTipo.getSelectedItemPosition())));
            trabalho.setOcupacao(String.valueOf(adpTOcupacao.getItem(spTOcupacao.getSelectedItemPosition())));
            trabalho.setRendimento(tbTRend.getText().toString());
            trabalho.setHorasMes(tbTHoras.getText().toString());
            String INSSset = "";
			if (cbTInss.isChecked()){
				INSSset = "Sim";
			}else{
				INSSset = "Não";
			}
			trabalho.setINSS(INSSset);
            data2.putExtra("trabalho", trabalho);
            setResult(Activity.RESULT_OK, data2);   
            finish();
        	}
        }catch (Exception e) {
        	Log.e(TAG,"btnTrabalhoConfirmar_click - Erro : " + e.getMessage());
        }
    }
    public void btnTrabalhoCancelar_click(View view)
    {
        try
        {
            //Quando for simplesmente cancelar a opera��o de inclusão
            //ou altera��o deve-se apenas informar o RESULT_CANCELED
            //e em seguida finalizar a Activity

            setResult(Activity.RESULT_CANCELED);
            finish();
        }catch (Exception e) {
        	Log.e(TAG,"btnCancelar_click - Erro : " + e.getMessage());
        }             
    }


    @Override
    protected void onDestroy() {
    	super.onDestroy();
    	unRegisterBaseActivityReceiver();
    	finish();
    }
}
